package model

import (
	"time"
)

// 用户模型 - 存储用户基本信息
// User represents a player in the game

type User struct {
	ID            int64     `json:"id" gorm:"primaryKey;autoIncrement"`
	Username      string    `json:"username" gorm:"size:50;unique;not null"`
	PasswordHash  string    `json:"-" gorm:"size:255;not null"` // 不对外暴露密码哈希
	Nickname      string    `json:"nickname" gorm:"size:50;not null"`
	Avatar        string    `json:"avatar" gorm:"size:255"`
	CreatedAt     time.Time `json:"created_at"`
	LastLoginAt   time.Time `json:"last_login_at"`

	// 修仙相关属性
	Realm         string    `json:"realm" gorm:"size:50;not null;default:'练气期'"` // 修仙境界
	RealmLevel    int       `json:"realm_level" gorm:"not null;default:1"`         // 境界小层（如练气期三层）
	Sect          string    `json:"sect" gorm:"size:100;not null;default:'散修'"`   // 宗门（默认散修）
	Cultivation   int64     `json:"cultivation" gorm:"not null;default:0"`        // 修为值

	// 基础属性
	HP            int64     `json:"hp" gorm:"not null;default:100"`               // 气血
	Attack        int64     `json:"attack" gorm:"not null;default:10"`            // 攻击
	Defense       int64     `json:"defense" gorm:"not null;default:5"`            // 防御
	Speed         int64     `json:"speed" gorm:"not null;default:5"`              // 速度

	// 特殊属性
	Lifespan      int64     `json:"lifespan" gorm:"not null;default:100"`         // 寿元
	Talent        int       `json:"talent" gorm:"not null;default:10"`            // 根骨
	Comprehension int       `json:"comprehension" gorm:"not null;default:10"`     // 悟性
	Luck          int       `json:"luck" gorm:"not null;default:10"`              // 运气

	// 资源
	SpiritStone   int64     `json:"spirit_stone" gorm:"not null;default:1000"`    // 灵石
}